class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int n=nums.size();
        vector<int> ans;
        ans.resize(n);
        ans[0]=nums[0];
        for(int i=1;i<nums.size();i++){
            ans[i]=max(nums[i],ans[i-1]+nums[i]);
        }
        return *max_element(ans.begin(),ans.end());
    }
};